Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Eliminare elementi Contigui...
Forum - C# / VB.NET - [VB.NET] Eliminare elementi Contigui...

Avatar
Fede94nz (Normal User)
Newbie


Messaggi: 4
Iscritto: 10/10/2011

Segnala al moderatore
Postato alle 17:27
Lunedì, 10/10/2011
Bene 2 giorni fà la prof ci ha assegnato un programma, ma ancora non so riuscito a farlo... (Pur Avendo 9)
Cioè: Eliminare due elementi uguali in un array

Quindi, dopo la visualizzazione dovrei trovare gli elementi Uguali cioè:

1 | 2 | 2 | 5 | 6 | 3 | 7 |

Dovrebbe risultare

1 | 2 | 5 | 6 | 3 | 7|

E il 2 messo in un altra ListBox...

In seguito, dovremmo trovare in Output (In una TextBox) la lunghezza del Vettore, nel caso precedente: 6

Cordiali saluti, Federico...

Ah Dimenticavo, io sono giunto qui...

Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.     'INPUT
  3.     Dim numero() As Short
  4.     Dim n As Short
  5.  
  6.  
  7.     Private Sub Btn_carica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_carica.Click
  8.         Lst_elenco.Items.Clear()
  9.         n = InputBox("Inserisci il numero degli elementi")
  10.         ReDim numero(n - 1)
  11.         For i = 0 To n - 1
  12.             numero(i) = InputBox("Inserisci l'elemento n°" + "" + CStr(i + 1))
  13.             Lst_elenco.Items.Add(numero(i))
  14.         Next
  15.     End Sub
  16.  
  17.  
  18.     Private Sub Btn_clear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_clear.Click
  19.         For i = 0 To n - 2
  20.             For j = i + 1 To n - 1
  21.                 If numero(i) = numero(j) Then
  22.  
  23.                 End If
  24.             Next
  25.         Next
  26.         ListBox1.Items.Clear()
  27.         For i = 0 To n - 1
  28.             ListBox1.Items.Add(numero(i))
  29.         Next
  30.     End Sub
  31. End Class


Ultima modifica effettuata da Fede94nz il 10/10/2011 alle 17:28
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
2
Down
V
Segnala al moderatore
Postato alle 17:51
Lunedì, 10/10/2011


Codice sorgente - presumibilmente VB.NET

  1. Dim arr = New () {1, 6, 2, 4, 3, 1, _
  2.         3, 4, 2, 5, 6}
  3.  
  4. Console.WriteLine("Elementi senza ripetizioni")
  5.  
  6. Dim distinct = arr.Distinct()
  7.  
  8. For Each item As var In distinct
  9.         Console.Write(item + ", ")
  10. Next
  11.  
  12. Console.WriteLine()
  13.  
  14. Console.WriteLine("Elementi che non sono duplicati")
  15. Dim equal = arr.Where(Function(item) arr.Count(Function(val) val = item) > 1)
  16.  
  17. For Each item As var In equal
  18.         Console.Write(item + ", ")
  19. Next


Ehm, grazie ma non sono arrivato cosi lontano, sono in 4 Superiore... COde più semplice non esiste? - Fede94nz - 10/10/11 17:53
cosa c'e` di tanto difficile per uno in 4 superiore, se posso chiedere? - crybot - 10/10/11 18:01
Non Ho fatto For Each - Console.WriteLine - Fede94nz - 10/10/11 18:17
neanche linq, solo metodi di estensione :) - HeDo - 10/10/11 18:23
Non so se c'entra niente ma io uso Visual basic 2008 asd - Fede94nz - 10/10/11 18:27
PM
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Up
1
Down
V
Segnala al moderatore
Postato alle 18:04
Lunedì, 10/10/2011
Codice sorgente - presumibilmente VB.NET

  1. 'indice su cui iterare
  2. Dim n As Integer = 0
  3. 'vettore è l'array che devi elaborare
  4. Dim lista_vettore As List(Of Integer) = vettore.ToList
  5. Do Until lista_vettore.Count = 0 Or n = lista_vettore.Count
  6.      If lista_vettore(n) = lista_ vettore(n+1) Then
  7.           lista_vettore.RemoveAt(n)
  8.      End If
  9.      n += 1
  10. Loop
  11. TextBox1.Text = "L'array ora contiene " & lista_vettore.Count & " elementi"


Ovviamente è molto meglio quella di HeDo, ma capisco che tu non capisca (se mi passi il gioco di parole :D)

ç_ç Oddio... è un impresa... Ma non si puo fare soltanto con il ciclo For e con l' IF? - Fede94nz - 10/10/11 18:18
XD - HeDo - 10/10/11 18:22
http://i55.tinypic.com/333bz8n.png Guarda come dovrebbe venire... - Fede94nz - 10/10/11 18:23
oi più semplice di così... dovresti essre capace di contare il numero di elementi che elimina e aggiungerli a una textbox - Qwertj - 10/10/11 18:29
rettifico, listbox - Qwertj - 10/10/11 18:34
MA quello che ho scritto nel codice sopra è sbagliato? Tutto qullo in Btn_clear.click - Fede94nz - 10/10/11 18:34
Ci sto arrivando grazie al topic del tuo blog, ma... Io li inserisco con un Inputbox gli elementi... e non nella variabile.. - Fede94nz - 10/10/11 18:40
si quello in Btn_clear è sbagliato. Non centra se li inserisci con un'inputBox o con una mietitrebbia, l'array vettore è la variabile "numero" - Qwertj - 10/10/11 20:35
PM